草庐IT

ES 脚本

全部标签

javascript - 如何将 JavaScript 代码拆分为多个文件并使用它们而不通过 HTML 中的脚本标记包含它们?

我正在广泛使用构造函数(类),并希望每个构造函数都在一个单独的文件中(类似于Java)。假设我有构造函数说Class1、Class2、...Class10,我只想使用Class1和Class5我需要使用脚本标记将Class1.js和Class2.js包含到HTML页面中。稍后如果我还需要使用Class3和Class6,我需要再次转到HTML页面并为它们添加脚本标签。这种方式维护性太差。JavaScript中有类似C的include指令的东西吗?如果不是,有没有办法模拟这种行为? 最佳答案 您可以使用jQuery.getScript:

javascript - 我可以在浏览器中查看在 casperjs 中运行的测试脚本以便于跟踪吗

您好,我在我的Web应用程序中使用jquery和Ajax作为前端,所以我正在使用casperjs自动化测试环境。由于使用jquery-ajax,我无法跟踪应用程序是否加载了页面以及许多其他事件。所以在开发期间,我正在考虑在浏览器中而不是以文本模式查看操作。是否有可能查看通过浏览器操作运行的测试脚本? 最佳答案 是的,在casper中使用slimerJS(gecko->firefox)引擎:http://slimerjs.org/它会打开firefox,您将在浏览器中看到您的自动测试。这个答案可能会让您感兴趣:Isthereawayt

javascript - ES6 模块和继承

我有以下JavaScript文件:src/js/classes/Lexus.js:import{Car}from'src/js/classes/Car';exportclassLexusextendsCar{constructor(){super("Lexus");}}src/js/classes/Mercedes.js:import{Car}from'src/js/classes/Car';exportclassMercedesextendsCar{constructor(){super("Mercedes");}}src/js/classes/Car.js:import{Lexus

javascript - 为什么在使用 ES6 和 ReactJS 时必须使用 bind?

使用ES5开发和ReactJS,一个组件可以声明如下:varMyComponent=React.createClass({alertSomething:function(event){alert(event.target);},render:function(){return(ClickMe!);}});ReactDOM.render();在此示例中,this引用对象本身,这是预期的自然行为。问题我的问题是:如何使用ES6创建组件?classMyComponentextendsReact.Component{constructor(props){super(props);}alertS

javascript - 在多个文件上拆分 Javascript 类 (ES6)?

我有一个Javascript类(在ES6中)变得很长。为了更好地组织它,我想将它分成2或3个不同的文件。我该怎么做?目前在单个文件中看起来像这样:classfooextendsbar{constructor(a,b){}//Putinfile1methodA(a,b){}//Putinfile1methodB(a,b){}//Putinfile2methodC(a,b){}//Putinfile2}谢谢! 最佳答案 创建类时classFooextendsBar{constructor(a,b){}}稍后您可以通过分配给它的原型(pr

javascript - 为什么继承Array在ES5中很难实现?

在ES5中使用原型(prototype)继承,从Array继承并获得预期的行为看起来并不简单,比如在将项目添加到Array时自动更新.length(见下面的代码)。ES5创建派生函数对象(MyArray),然后将基类型传递给它进行初始化,为什么这个模型很难在这个模型中获得预期的行为?ES6改变了基础构造函数中的行为和创建对象,然后派生类的构造函数对其进行初始化(在调用super()之后),想知道为什么这样解决了问题。functionMyArray(){}MyArray.prototype=Object.create(Array.prototype);varmyArr=newMyArra

javascript - es6 { [a] : b } destructuring mean? 是什么

这里有一些解构:const{[a]:b}=this.props但是,[a]:b是做什么的:带冒号的方括号是做什么的?在我的例子中,a作为具有字符串值的Prop之一提供。 最佳答案 这种ES6解构语法与用于定义具有可变属性名称的对象的新“增强对象文字”非常相似,因此我认为首先了解它很有用:在ES6之前,如果你想给一个属性名可变的对象赋值,你需要这样写varobj={};obj[variable]=value这是因为虽然点表示法和对象字面量表示法都需要使用实际的属性名称,但obj[prop]表示法允许您使用变量名。ES6引入了扩展对象字

javascript - 如何在 Lerna 包中共享构建脚本

我有一个lerna存储库,其中包含以通常结构组织的多个包:package.json/packages-alphapackage.json-bravopackage.json-charliepackage.json我需要转译所有包,我目前在每个包的package.json中都有以下脚本:"build":"npmrunbuild:noWatch----watch--verbose","build:noWatch":"babelsrc--out-dirlib--root-modeupward--ignore'**/*.test.js','**/__tests__'","prebuild":"

javascript - 为什么 postMessage 脚本在 IE8 中不起作用?

经过广泛的研究,这似乎应该可行,但在IE8中,letsgo函数永远不会被调用...有什么帮助吗?functionresizeCrossDomainIframe(){if(window.addEventListener){window.addEventListener('message',letsgo,false);}elseif(window.attachEvent){window.attachEvent('onmessage',letsgo);}}functionletsgo(event){variframe=document.getElementById('my_iframe');

javascript - Chrome webtools 调试器自行恢复脚本执行

我发现Chromedevtools有奇怪的行为。我在我的javascript中设置了一个断点,然后断点命中并停止执行。代码窗口显示了我的代码中断点所在的点(窗口的背景颜色为淡黄色),然后在5秒后执行自动神奇地恢复,而无需我告诉它。有没有人见过这个?这显然让我很难调试。编辑:这是Chrome远程调试AndroidWebView应用程序。我没有在原始帖子中提及这一点。我记录了一个session,在设置​​3个断点后重新加载页面。重新加载页面后,我没有触摸键盘或鼠标。您可以看到Chrome自动恢复here.(对于站外链接很抱歉)在这种情况下,JS窗口的背景在某些情况下没有变黄。谢谢